package org.example.music_manage_system.pojo;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.groups.Default;
import lombok.Data;
import org.hibernate.validator.constraints.URL;

import java.time.LocalDateTime;
@Data
public class Music {
    @NotEmpty
    private String title;//歌曲名
    @NotEmpty
    private String content;//音乐简介
    /*@NotEmpty*/
    //这里用户可以上传资源也可以不上传资源，所以注释掉 @NotEmpty
    @URL
    private String songs;//用户上传的歌曲的url
    //因为删除分类之后，会将歌曲列表中的相同的categoryId，所以删除过后就为空
    /*@NotEmpty*/
    private Integer categoryId;//分类id
    @JsonIgnore
    private Integer createUser;//创建者id
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;//创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;//更新时间
    @NotNull(groups = update.class)
    private Integer id;//主键ID
    @URL
    private String playUrl;//音乐播放网站的url
    //歌曲的状态
    /*@NotEmpty*/
    private String states;
    //新增歌曲已添加，保持不变
    public interface add extends Default {

    }
    public interface update extends Default{

    }

}

